<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
		
			//ECMAScript 中的函数使用 function 关键字来声明，后跟一组参数以及函数体。
			//函数基本语法如下所示：
//					  function sayHi(name,message){
//					  	 console.log(arguments.callee);
//					  	 console.log(name+","+message);
//					  }
//					  sayHi("ls","xxx");//ls,xxx
            //严格模式对函数有一些限制:
            	//不能把函数命名为eval或arguments
            	//不能把参数命名为eval或arguments
            	//不能出现两个命名参数同名的情况
            	
		    //3.7.1 理解参数
		      	  //1.ECMAScript 函数不介意传递进来多少个参数，也不在乎传进来参数是什么数据类型。
		          //  原因是 ECMAScript 中的参数在内部是用一个数组来表示的。
		          //  函数接收到的始终都是这个数组，而不关心数组中包含哪些参数（如果有参数的话）。
		          //2.在函数体内可以通过 arguments 对象来访问这个参数数组，从而获取传递给函数的每一个参数。
		          //  arguments对象只是与数组类似（它并不是 Array 的实例）。
		          //  使用length属性来确定传进来的参数个数
		          //  是 arguments对象可以与命名参数一起使用
//                     	function sum(num1,num2){
//							arguments[1]=50;
//							console.log(num1+num2);
//						}
//						sum(10,20);//非严格模式下60  严格模式下30
            
            //3.7.2 没有重载
//		              function fn(num){
//		              	return num + 100;
//		              }
//		              function fn(num){
//		              	return num + 200
//		              }
//		              var result = fn(100);
//		              console.log(result);
		</script>
	</body>
</html>
